#include<bits/stdc++.h>
using namespace std;
const int N=100005;

int n,m,q;
vector<int> edges[N];
int in0[N];
int in[N];
char arr[N];

int main()
{
    scanf("%d%d%d",&n,&m,&q);
    memset(in0,0,sizeof(in0));
    for(int i=1;i<=m;i++){
        int s,t;
        scanf("%d%d",&s,&t);
        edges[t].emplace_back(s);
        in0[s]++;
    }
    for(int i=1;i<=q;i++){
        int s,t;
        scanf("%d%d",&s,&t);
        memset(arr,' ',sizeof(arr));
        queue<int> que;
        arr[t]='-';
        que.push(t);
        for(int j=1;j<=n;j++){
            in[j]=in0[j];
            if(in[j]==0) {
                arr[j]='-';
                que.push(j);
            }
        }
        while(!que.empty()){
            int u=que.front();
            que.pop();
            int c=arr[u];
            for(auto v:edges[u]){
                if(arr[v]!=' ') continue;
                if(arr[u]=='-'){
                    arr[v]='+';
                    que.push(v);
                }
                else if(arr[u]=='+'){
                    in[v]--;
                    if(in[v]==0){
                        arr[v]='-';
                        que.push(v);
                    }
                }
            }
        }
        if(arr[s]==' '){
            printf("0\n");
        }else if(arr[s]=='+'){
            printf("1\n");
        }
        else if(arr[s]=='-'){
            printf("-1\n");
        }
    }
    return 0;
}